const obj1 = {
    a: 123,
    b: 456,
    c: "abc"
}

const obj2 = {
    a: 789,
    d: "kkk"
}

/* 得到以下对象， obj2 覆盖 obj1
{
    a: 789,
    b: 456,
    c: "abc",
    d: "kkk"
}
*/

// const obj = {
//     ...obj1,
//     ...obj2
// }



// 将obj2的数据，覆盖到obj1，并且会对obj1产生改动，然后返回obj1
// const obj = Object.assign(obj1, obj2); //但是会改动obj1，返回的就是obj1


const obj = Object.assign({}, obj1, obj2); // 可以传递多个参数，最后返回被修改的空对象

console.log(obj);

console.log(obj===obj1);

console.log(obj1);

console.log(obj2);